﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataTransferObject;
namespace _5ChickDeal.Admin.Control
{
    public partial class EditDeal : System.Web.UI.UserControl
    {
        int id = -1;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["d"] == null)
            {
                return;
            }
            
            try
            {
                id = int.Parse(Request.QueryString["d"]);
                if (!IsPostBack)
                {
                    DataClassesDataContext db = new DataClassesDataContext();
                    var deal = db.Deals.Single(d => d.id == id);
                    ac.Value = deal.id.ToString();
                    TextBoxTenDeal.Text = deal.ten;
                    TextBoxGia.Text = deal.gia.ToString();
                    TextBoxGiaConLai.Text = deal.giaconlai.ToString();
                    TextBoxNgayBatDau.Text = deal.thoigianbatdau.Value.ToString("MM/dd/yyyy");
                    TextBoxNgayKetThuc.Text = deal.thoigianketthuc.Value.ToString("MM/dd/yyyy");
                    TextBoxSoLuongMuaToiDa.Text = deal.soluongmuatoida.ToString();
                    TextBoxSoLuongMuaToiThieu.Text = deal.soluongmuatoithieu.ToString();
                    EditorChiTiet.Content = deal.chitiet;
                    EditorDiemNoiBat.Content = deal.diemnoibat;
                    EditorDieuKienSuDung.Content = deal.dieukiensudung;

                    var source = from ct in db.CongTies
                                 select ct;
                    DropdownListCongTy.DataSource = source;
                    DropdownListCongTy.DataTextField = "ten";
                    DropdownListCongTy.DataValueField = "id";
                    DropdownListCongTy.SelectedIndex = source.ToList().IndexOf(deal.CongTy1);
                    DropdownListCongTy.DataBind();
                }
            }
            catch { }
        }
        private void Message(bool success, String message)
        {
            if (success)
            {
                LabelOk.Text = message;

            }
            else
            {
                label1.Text = message;
            }
            PanelOk.Visible = success;
            PanelError.Visible = !success;
        }
        protected void Submit_Click(object sender, EventArgs e)
        {
            try
            {
                DataClassesDataContext db = new DataClassesDataContext();
                Deal d = db.Deals.Single(a => a.id == id);
                var ha = from h in db.HinhAnhs
                         where h.madeal == null
                         select h;

                if (EditorDiemNoiBat.Content == "")
                {
                    Message(false, "Bạn phải ghi đầy đủ điểm nổi bật");
                    return;
                }
                if (EditorDieuKienSuDung.Content == "")
                {
                    Message(false, "Bạn phải điền thông tin điều kiện sữ dụng");
                    return;
                }
                if (EditorChiTiet.Content == "")
                {
                    Message(false, "Bạn phải điền thông tin chi tiết");
                    return;
                }
                try
                {
                    String[] ngaybd = TextBoxNgayBatDau.Text.Split('/');
                    String[] ngaykt = TextBoxNgayKetThuc.Text.Split('/');
                    DateTime t1 = new DateTime(int.Parse(ngaybd[2]), int.Parse(ngaybd[0]), int.Parse(ngaybd[1]));
                    DateTime t2 = new DateTime(int.Parse(ngaykt[2]), int.Parse(ngaykt[0]), int.Parse(ngaykt[1]));

                    if (DateTime.Compare(t1, t2) >= 0)
                    {
                        Message(false, "Ngày bắt đầu phải trước ngày kết thúc");
                        return;
                    }
                    d.thoigianbatdau = t1;
                    d.thoigianketthuc = t2;
                }
                catch
                {
                    Message(false, "Ngày không hợp lệ");
                    return;
                }
                try
                {
                    d.gia = int.Parse(TextBoxGia.Text);
                    d.giaconlai = int.Parse(TextBoxGiaConLai.Text);
                    d.soluongmuatoithieu = int.Parse(TextBoxSoLuongMuaToiThieu.Text);
                    d.soluongmuatoida = int.Parse(TextBoxSoLuongMuaToiDa.Text);
                }
                catch
                {
                    Message(false, "Xem lại giá trị số ! Phải điền số");
                    return;
                }

                d.chitiet = EditorChiTiet.Content;
                d.congty = int.Parse(DropdownListCongTy.SelectedValue);
                d.diemnoibat = EditorDiemNoiBat.Content;
                d.dieukiensudung = EditorDieuKienSuDung.Content;
                d.ten = TextBoxTenDeal.Text;
                db.SubmitChanges();

                foreach (HinhAnh h in ha)
                {
                    h.madeal = d.id;
                }
                db.SubmitChanges();
                Message(true, "Cập nhật thành công");
            }
            catch { }
        }
    }
}